﻿using AzureContrib.WindowsAzure.Diagnostics;

namespace AzureContrib.WindowsAzure.Tests.Mocks
{
	/// <summary>
	/// A verbose <see cref="ITraceSwitchProvider"/>
	/// </summary>
	public static class VerboseTraceSwitchProviderFactory
	{
		/// <summary>
		/// Create a <see cref="ITraceSwitchProvider"/>.
		/// </summary>
		/// <returns><see cref="ITraceSwitchProvider"/></returns>
		public static ITraceSwitchProvider Create()
		{
			return new VerboseTraceSwitchProvider();
		}

		private class VerboseTraceSwitchProvider : ITraceSwitchProvider
		{
			public TraceSwitch GetSwitch(ITraceSwitchable traceSwitchable)
			{
				return new TraceSwitch("*", "I Am A Verbose TraceSwitch", LogLevel.Verbose.ToString());
			}

			public void Dispose()
			{
			}
		}
	}
}